
if(typeof window=="undefined"){dojo.raise("attempt to use adobe svg hostenv when no window object");}
with(dojo.render){name=navigator.appName;ver=parseFloat(navigator.appVersion,10);switch(navigator.platform){case"MacOS":os.osx=true;break;case"Linux":os.linux=true;break;case"Windows":os.win=true;break;default:os.linux=true;break;}
svg.capable=true;svg.support.builtin=true;svg.adobe=true;}
dojo.hostenv.println=function(s){try{var ti=document.createElement("text");ti.setAttribute("x","50");var yPos=25+15*document.getElementsByTagName("text").length;ti.setAttribute("y",yPos);var tn=document.createTextNode(s);ti.appendChild(tn);document.documentElement.appendChild(ti);}
catch(e){}};dojo.debug=function(){if(!djConfig.isDebug){return;}
var args=arguments;if(typeof dojo.hostenv.println!="function"){dojo.raise("attempt to call dojo.debug when there is no dojo.hostenv println implementation (yet?)");}
var isJUM=dj_global["jum"];var s=isJUM?"":"DEBUG: ";for(var i=0;i<args.length;++i){s+=args[i];}
if(isJUM){jum.debug(s);}else{dojo.hostenv.println(s);}};dojo.hostenv.startPackage("dojo.hostenv");dojo.hostenv.name_="adobesvg";dojo.hostenv.anonCtr=0;dojo.hostenv.anon={};dojo.hostenv.nameAnonFunc=function(anonFuncPtr,namespaceObj){var ret="_"+this.anonCtr++;var nso=(namespaceObj||this.anon);while(typeof nso[ret]!="undefined"){ret="_"+this.anonCtr++;}
nso[ret]=anonFuncPtr;return ret;};dojo.hostenv.modulesLoadedFired=false;dojo.hostenv.modulesLoadedListeners=[];dojo.hostenv.getTextStack=[];dojo.hostenv.loadUriStack=[];dojo.hostenv.loadedUris=[];dojo.hostenv.modulesLoaded=function(){if(this.modulesLoadedFired){return;}
if((this.loadUriStack.length==0)&&(this.getTextStack.length==0)){if(this.inFlightCount>0){dojo.debug("couldn't initialize, there are files still in flight");return;}
this.modulesLoadedFired=true;var mll=this.modulesLoadedListeners;for(var x=0;x<mll.length;x++){mll[x]();}}};dojo.hostenv.getNewAnonFunc=function(){var ret="_"+this.anonCtr++;while(typeof this.anon[ret]!="undefined"){ret="_"+this.anonCtr++;}
eval("dojo.nostenv.anon."+ret+" = function(){};");return[ret,this.anon[ret]];};dojo.hostenv.displayStack=function(){var oa=[];var stack=this.loadUriStack;for(var x=0;x<stack.length;x++){oa.unshift([stack[x][0],(typeof stack[x][2])]);}
dojo.debug("<pre>"+oa.join("\n")+"</pre>");};dojo.hostenv.unwindUriStack=function(){var stack=this.loadUriStack;for(var x in dojo.hostenv.loadedUris){for(var y=stack.length-1;y>=0;y--){if(stack[y][0]==x){stack.splice(y,1);}}}
var next=stack.pop();if((!next)&&(stack.length==0)){return;}
for(var x=0;x<stack.length;x++){if((stack[x][0]==next[0])&&(stack[x][2])){next[2]==stack[x][2];}}
var last=next;while(dojo.hostenv.loadedUris[next[0]]){last=next;next=stack.pop();}
while(typeof next[2]=="string"){try{dj_eval(next[2]);next[1](true);}
catch(e){dojo.debug("we got an error when loading "+next[0]);dojo.debug("error: "+e);}
dojo.hostenv.loadedUris[next[0]]=true;dojo.hostenv.loadedUris.push(next[0]);last=next;next=stack.pop();if((!next)&&(stack.length==0)){break;}
while(dojo.hostenv.loadedUris[next[0]]){last=next;next=stack.pop();}}
if(next){stack.push(next);dojo.debug("### CHOKED ON: "+next[0]);}};dojo.hostenv.loadUri=function(uri,cb){if(dojo.hostenv.loadedUris[uri]){return;}
var stack=this.loadUriStack;stack.push([uri,cb,null]);var tcb=function(contents){if(contents.content){contents=contents.content;}
var next=stack.pop();if((!next)&&(stack.length==0)){dojo.hostenv.modulesLoaded();return;}
if(typeof contents=="string"){stack.push(next);for(var x=0;x<stack.length;x++){if(stack[x][0]==uri){stack[x][2]=contents;}}
next=stack.pop();}
if(dojo.hostenv.loadedUris[next[0]]){dojo.hostenv.unwindUriStack();return;}
stack.push(next);if(next[0]!=uri){if(typeof next[2]=="string"){dojo.hostenv.unwindUriStack();}}else{if(!contents){next[1](false);}else{var deps=dojo.hostenv.getDepsForEval(next[2]);if(deps.length>0){eval(deps.join(";"));}else{dojo.hostenv.unwindUriStack();}}}};this.getText(uri,tcb,true);};dojo.hostenv.loadModule=function(modulename,exact_only,omit_module_check){var module=this.findModule(modulename,0);if(module){return module;}
if(typeof this.loading_modules_[modulename]!=="undefined"){dojo.debug("recursive attempt to load module '"+modulename+"'");}else{this.addedToLoadingCount.push(modulename);}
this.loading_modules_[modulename]=1;var relpath=modulename.replace(/\./g,"/")+".js";var syms=modulename.split(".");var nsyms=modulename.split(".");if(syms[0]=="dojo"){syms[0]="src";}
var last=syms.pop();syms.push(last);var _this=this;var pfn=this.pkgFileName;if(last=="*"){modulename=(nsyms.slice(0,-1)).join(".");var module=this.findModule(modulename,0);if(module){_this.removedFromLoadingCount.push(modulename);return module;}
var nextTry=function(lastStatus){if(lastStatus){module=_this.findModule(modulename,false);if((!module)&&(syms[syms.length-1]!=pfn)){dojo.raise("Module symbol '"+modulename+"' is not defined after loading '"+relpath+"'");}
if(module){_this.removedFromLoadingCount.push(modulename);dojo.hostenv.modulesLoaded();return;}}
syms.pop();syms.push(pfn);relpath=syms.join("/")+".js";if(relpath.charAt(0)=="/"){relpath=relpath.slice(1);}
_this.loadPath(relpath,((!omit_module_check)?modulename:null),nextTry);};nextTry();}else{relpath=syms.join("/")+".js";modulename=nsyms.join(".");var nextTry=function(lastStatus){if(lastStatus){module=_this.findModule(modulename,false);if((!module)&&(syms[syms.length-1]!=pfn)){dojo.raise("Module symbol '"+modulename+"' is not defined after loading '"+relpath+"'");}
if(module){_this.removedFromLoadingCount.push(modulename);dojo.hostenv.modulesLoaded();return;}}
var setPKG=(syms[syms.length-1]==pfn)?false:true;syms.pop();if(setPKG){syms.push(pfn);}
relpath=syms.join("/")+".js";if(relpath.charAt(0)=="/"){relpath=relpath.slice(1);}
_this.loadPath(relpath,((!omit_module_check)?modulename:null),nextTry);};this.loadPath(relpath,((!omit_module_check)?modulename:null),nextTry);}
return;};dojo.hostenv.async_cb=null;dojo.hostenv.unWindGetTextStack=function(){if(dojo.hostenv.inFlightCount>0){setTimeout("dojo.hostenv.unWindGetTextStack()",100);return;}
dojo.hostenv.inFlightCount++;var next=dojo.hostenv.getTextStack.pop();if((!next)&&(dojo.hostenv.getTextStack.length==0)){dojo.hostenv.inFlightCount--;dojo.hostenv.async_cb=function(){};return;}
dojo.hostenv.async_cb=next[1];window.getURL(next[0],function(result){dojo.hostenv.inFlightCount--;dojo.hostenv.async_cb(result.content);dojo.hostenv.unWindGetTextStack();});};dojo.hostenv.getText=function(uri,async_cb,fail_ok){try{if(async_cb){dojo.hostenv.getTextStack.push([uri,async_cb,fail_ok]);dojo.hostenv.unWindGetTextStack();}else{return dojo.raise("No synchronous XMLHTTP implementation available, for uri "+uri);}}
catch(e){return dojo.raise("No XMLHTTP implementation available, for uri "+uri);}};dojo.hostenv.postText=function(uri,async_cb,text,fail_ok,mime_type,encoding){var http=null;var async_callback=function(httpResponse){if(!httpResponse.success){dojo.raise("Request for uri '"+uri+"' resulted in "+httpResponse.status);}
if(!httpResponse.content){if(!fail_ok){dojo.raise("Request for uri '"+uri+"' resulted in no content");}
return null;}
async_cb(httpResponse.content);};try{if(async_cb){http=window.postURL(uri,text,async_callback,mimeType,encoding);}else{return dojo.raise("No synchronous XMLHTTP post implementation available, for uri "+uri);}}
catch(e){return dojo.raise("No XMLHTTP post implementation available, for uri "+uri);}};function dj_last_script_src(){var scripts=window.document.getElementsByTagName("script");if(scripts.length<1){dojo.raise("No script elements in window.document, so can't figure out my script src");}
var li=scripts.length-1;var xlinkNS="http://www.w3.org/1999/xlink";var src=null;var script=null;while(!src){script=scripts.item(li);src=script.getAttributeNS(xlinkNS,"href");li--;if(li<0){break;}}
if(!src){dojo.raise("Last script element (out of "+scripts.length+") has no src");}
return src;}
if(!dojo.hostenv["library_script_uri_"]){dojo.hostenv.library_script_uri_=dj_last_script_src();}
dojo.requireIf((djConfig["isDebug"]||djConfig["debugAtAllCosts"]),"dojo.debug");